package com.gem.mapper;

import com.gem.entity.Commodity;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;


public interface CommodityMapper {
    /**
     * 查询全部商品
     * @return 商品集合
     */
    List<Commodity> selectAllCommoditys();


    /**
     * 插入商品
     * @param commodity 商品
     */
    void insertCommodity(Commodity commodity);

    /**
     * 根据类型查询
     * @param type 类型
     * @return 商品集合
     */
    List<Commodity> selectByType(String type);

    /**
     * 根据商品名称模糊查询
     * @param name 商品名称
     * @return 商品集合
     */
    List<Commodity> selectByName(String name);


    /**
     * 查询所有的分类
     * @return 类别集合
     */
    List<String> selectAllType();

    /**
     * 根据id查询商品
     * @param id 商品id
     * @return 商品
     */
    Commodity selectCommodityById(int id);

    /**
     * 根据类型和商品名称模糊程序
     * @param name 商品名称
     * @param type 商品类型
     * @return 商品集合
     */
    List<Commodity> selectCommodityByNameAndType(@Param("name") String name, @Param("type") String type);

    List<Map<String,String>> selectNumByType();
}
